﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>

//写一个宏，计算结构体中某变量相对于首地址的偏移，并给出说明
//考察：offsetof宏的实现

// 定义结构体
struct offen
{
	int a;
	int b;
	char c;
};

#define offsetof(of, ch) &ch-&of1
int main()
{
	//创造结构体变量并初始化
	struct offen of1 = { 10,2,'a' };
	//使用宏
	int ret = offsetof(of1, of1.c);
	// int ret = &of1.c - &of1;
	// 用结构体变量地址 - 结构体地址
	printf("%d", ret);
	return 0;
}

